﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace Reviewer.Entities.Services
{

    /// <summary>
    /// Newsletter Service Interface
    /// </summary>
    [ServiceContract(Namespace = "Reviewer.Services")]
    public interface INewsletterService : IDisposable
    {
        /// <summary>
        /// Determines whether the specified email is signed up.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <returns>
        /// 	<c>true</c> if the specified email is signed up; otherwise, <c>false</c>.
        /// </returns>
        [OperationContract]
        bool IsSignedUp(string email);

        /// <summary>
        /// Signs up.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <returns></returns>
        [OperationContract]
        bool Signup(string email);

        /// <summary>
        /// Unsubscribes the specified email.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <returns></returns>
        [OperationContract]
        bool Unsubscribe(string email);
    }
}
